(function (window, document) {
  // 设置字体大小的函数
  function setFontSize() {
    if (document.body) {
      document.body.style.fontSize = 12 * devicePixelRatio + 'px';
    } else {
      document.addEventListener('DOMContentLoaded', setFontSize);
    }
  }

  // 根据视口宽度动态设置根元素字体大小
  function updateFontSize() {
    const viewportWidth = document.documentElement.clientWidth;
    var num = viewportWidth / 10
    if(num > 100){
      num = 60
    }
    document.documentElement.style.fontSize = num + 'px';
  }

  // 获取根元素和设备像素比
  const rootElement = document.documentElement;
  const devicePixelRatio = window.devicePixelRatio || 1;

  // 初始化
  setFontSize();
  updateFontSize();

  // 监听窗口大小变化
  window.addEventListener('resize', updateFontSize);
  
  // 监听页面显示事件
  window.addEventListener('pageshow', function (event) {
    if (event.persisted) {
      updateFontSize();
    }
  });

  // 处理高像素密度屏幕
  if (devicePixelRatio >= 2) {
    const bodyElement = document.createElement('body');
    const testDiv = document.createElement('div');

    testDiv.style.border = '.5px solid transparent';
    bodyElement.appendChild(testDiv);
    rootElement.appendChild(bodyElement);

    // 检查是否支持 0.5px 的边框
    if (testDiv.offsetHeight === 1) {
      rootElement.classList.add('hairlines');
    }

    // 清理 DOM
    rootElement.removeChild(bodyElement);
  }
})(window, document);